/**
* @file RoomDividerPlanner.h
* @author
* @brief 房间分割
* @version 1.0
* @date 2021-07-12
*
* @copyright Copyright (c) 2021
*
*/

#pragma once

#include "data_struct/base/DataSet.h"
#include <lib/ipa_room_planning.h>

namespace behavior_controller
{

class RoomDividerPlanner
{
public:

    RoomDividerPlanner() {};

    void run(double &linear_vel, double &angular_vel, bool &finished);

    void SetNode(const rclcpp::Node::SharedPtr &ros_node, std::shared_ptr<IpaRoomPlanning> &ipa_room_plan_);

    void setOnline(bool flag) { online_flag = flag; };

private:
    rclcpp::Node::SharedPtr ros_node_;
    std::shared_ptr<IpaRoomPlanning> ipa_room_plan = nullptr;
    bool online_flag = false;
};

//static
extern RoomDividerPlanner room_divider_planner; //实例化沿障碍物类
} // namespace behavior_controller